package com.cy.pj.sys.service.Impl;
/**
 * 公告业务的具体实现
 * 1)核心业务(调用数据方法操作数据，...)
 * 2)拓展业务(日志记录，权限控制，事务控制，缓存...)
 */

import com.cy.pj.sys.dao.SysNoticeDao;
import com.cy.pj.sys.pojo.SysNotice;
import com.cy.pj.sys.service.SysNoticeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

@Slf4j  //底层帮忙建log对象
@Service //@Component
public class SysNoticeServiceImpl implements SysNoticeService {
    /**创建日志门面 API 对象*/
    //private static final Logger log = LoggerFactory.getLogger(SysNoticeServiceImpl.class);//通过工厂创建日志对象

    //@Autowired  //假如没有写@Autowired,可以通过构造方法的形式为属性赋值
    private SysNoticeDao sysNoticeDao;

    //通过构造方法直接进行DI操作
    public SysNoticeServiceImpl(SysNoticeDao sysNoticeDao) {
        this.sysNoticeDao = sysNoticeDao;
    }

    @Override
    public List<SysNotice> findNotices(SysNotice sysNotice) {
        //System.out.println("system.out.start:"+System.currentTimeMillis());
        long t1 = System.currentTimeMillis();
        log.info("start: {}",t1);//这里的{}表示占位符号
        List<SysNotice> list=sysNoticeDao.selectNotices(sysNotice);
        long t2 = System.currentTimeMillis();
        log.info("end: {}",t2);
        return list;
    }

    @Override
    public int saveNotice(SysNotice sysNotice) {
        int rows=sysNoticeDao.insertNotice(sysNotice);
        return rows;
    }

    @Override
    public int deleteById(Long... ids) {
        int rows= sysNoticeDao.deleteById(ids);
        return rows;
    }

    @Override
    public SysNotice findById(Long id) {
        SysNotice notice=sysNoticeDao.selectById(id);
        return notice;
    }

    @Override
    public int updateNotice(SysNotice sysNotice) {
        int rows=sysNoticeDao.updateNotice(sysNotice);
        return rows;
    }
}
